<?php 

/**
 * ProyectosdcCapexController
 * 
 * @package Sgit 
 * @author Juan Manuel Martinez Carrillo
 * @copyright Juan Manuel Martinez Carrillo
 * @version 2012
 * @access public
 * @revision 17/02/2012 12:19:36
 */

 
 
class ProyectosdcCapexController extends Sgit_Controller_Action
{
	
    
    protected $_main_model='ProyectosDC';
    protected $_main_form='ProyectosDCCapex';


    function _begin(){
        $this->_element->ProyetosDCCapexCat = new Sgit_Form_Element_Select_Xml('ProyetosDCCapexCat');
        $this->_element->ProyetosDCAprobado = new Sgit_Form_Element_Select_Xml('ProyetosDCAprobado');
        $this->_loadModel('ProyectosDCEconomico');
    
        $this->_file_upload[1] = Sgit_Util_FileUpload::run('gestion_proyectos','file_noc');
    }
    

    
	public function indexAction()
    {
    

        $this->setParam('anio',date('Y'));
        
    
        $filtros = new Sgit_Form_Filtros();
        
        $filtros->addFormSelect(new Sgit_Form_Element_Select_Year('anio'));
        $filtros->addFormSelect(new Sgit_Form_Element_Select_Datacenter('id_zona'));
        $filtros->addFormSelect($this->_element->ProyetosDCAprobado);
        $filtros->addFormSelect($this->_element->ProyetosDCCapexCat);
        $values = $this->_getFiltrosValues($filtros);
        $filtros->myRender();
        

        $this->view->anio=$this->_getParam('anio');

        $rows = $this->_model->default->getProyectosCapex($values);
        $this->_importes=$this->_model->ProyectosDCEconomico->getImporteProyectosByStatus();
        $rows= $this->_prepareRowsToTr($rows);
        
        
        foreach((array)$rows as $k => $v){
            $filas[$rows[$k]['categoria']][$k]=$rows[$k];
        }
        
        //suma columnas
        $campos=array('noc','importe','balance','avance','contabilizado','contratado','previsto');
        $suma=$this->view->suma( $rows, $campos);
        
        
        foreach((array)$filas as $k => $v)
        {
            $tipo[$k]=$v;
            $suma[$k]=$this->view->suma( $v, $campos);
        }


        $this->view->tipo=$tipo;
        $this->view->suma=$suma;
        

    }
    


    
    
    public function insertarAction()
    {
        $this->_reload();
    	$this->_insertar();
    }
    

    
    public function editarAction()
    {
        $this->_reload();
        $this->_editar();
    }


    protected function _prepareValuesToDb()
    {
        
        $row=$this->_form->getValues();
        $row['control_economico']='CAPEX';
        
        

        if(!$this->_getParam('id')){
            $row['estado']=1;
            $row['jefe1']=$this->_auth->getIdentity()->id;
            $row['accesos']=serialize((array)$row['jefe1']);
            $row['prioridad']=1;
            $row['prl']=0;
            $row['obligatorio']=0;
            $row['gma']=0;
            $row['objeto_cambio'] = 1;
            $row['cambio_aceptado'] = 'SI';
            $row['responde_cambio'] = $row['jefe1'];
            $row['fecha_peticion_cambio'] = date('Y-m-d');
            $row['f_inicio']=$row['anio'].'-01-01';
            $row['f_entrega']=$row['anio'].'-12-31';
        }
        
        
                
        Sgit_Util_removeFiles::run($this->_file_upload[1]['tabla'],$this->_file_upload[1]['key'],$this->_id,$row[$this->_file_upload[1]['activo']]);
        unset($row[$this->_file_upload[1]['name']]);
        unset($row[$this->_file_upload[1]['activo']]);
        
        
        return $row;
    }
    
    
    
    
    
    protected function _prepareValuesToTr($v)
    {
        
          //  $importe=$this->_model->ProyectosDCEconomico->getImporteByStatus($v['id']);
            
            
            $importe=$this->_importes[$v['id']];
            
            
            $pid='P' .str_pad($v['id'], 4, "0", STR_PAD_LEFT);
            $v['proyecto']=$pid.' - '.$v['proyecto'];
            $v['ref']=$v['ref'];
            $v['categoria']=$this->_element->ProyetosDCCapexCat->getMultiOption($v['categoria']);
			$v['aprobacion_text']=$this->_element->ProyetosDCAprobado->getMultiOption($v['aprobacion']);
            $v['id']=$v['id'];
            $v['pep']=$v['pep'];
            $v['notas']=$v['notas'];
            $v['contratado']=$importe['contratado'];
            $v['previsto']=$importe['previsto'];
            $v['contabilizado']=$importe['contabilizado'];
            $v['avance']=$importe['contratado']+$importe['previsto']+$importe['contabilizado'];
            $v['balance']=$v['noc']-$v['avance'];
            $v['color']=($rows[$k]['balance']<0) ? 'red' : 'green';

            return $v;
    }
    
    
    protected function _getFila($id)
    {
        $row = $this->_model->default->GetProyecto($id);
        $row = $this->_prepareValuesToTr($row);
        return $row;
    }
    
    
   	
    

    
    
    
}




